runtime.g.m (field)

468 uses

	runtime (current package)
		atomic_pointer.go#L24: 	buf := getg().m.p.ptr().wbBuf.get2()
		cgocall.go#L137: 	mp := getg().m
		cgocall.go#L214: 	if gp != gp.m.curg {
		cgocall.go#L225: 	checkm := gp.m
		cgocall.go#L229: 	syscall := gp.m.syscall
		cgocall.go#L238: 	gp.m.incgo = false
		cgocall.go#L239: 	if gp.m.isextra {
		cgocall.go#L240: 		gp.m.isExtraInC = false
		cgocall.go#L243: 	osPreemptExtExit(gp.m)
		cgocall.go#L251: 	gp.m.incgo = true
		cgocall.go#L252: 	if gp.m.isextra {
		cgocall.go#L253: 		gp.m.isExtraInC = true
		cgocall.go#L256: 	if gp.m != checkm {
		cgocall.go#L260: 	osPreemptExtEnter(gp.m)
		cgocall.go#L265: 	gp.m.syscall = syscall
		cgocall.go#L275: 	if gp.m.needextram || extraMWaiters.Load() > 0 {
		cgocall.go#L276: 		gp.m.needextram = false
		cgocall.go#L301: 	if gp.m.ncgo == 0 {
		cgocall.go#L312: 	if gp.m.profilehz != hz {
		cgocheck.go#L42: 	if gp == gp.m.g0 || gp == gp.m.gsignal {
		cgocheck.go#L48: 	if gp.m.mallocing != 0 {
		debug.go#L89: 	if gp == gp.m.g0 || gp == gp.m.gsignal {
		debug.go#L108: 	if gp == gp.m.g0 || gp == gp.m.gsignal {
		debugcall.go#L31: 	if getg() != getg().m.curg {
		debugcall.go#L133: 		mp := gp.m
		debugcall.go#L182: 	mp := gp.m
		debugcall.go#L219: 			gp.m.lockedg = 0
		debuglog.go#L112: 	if gp != nil && gp.m != nil && gp.m.p != 0 {
		debuglog.go#L113: 		l.w.varint(int64(gp.m.p.ptr().id))
		heapdump.go#L363: 	dumpint(uint64(uintptr(unsafe.Pointer(gp.m))))
		heapdump.go#L698: 	casGToWaiting(gp.m.curg, _Grunning, waitReasonDumpingHeap)
		heapdump.go#L713: 	casgstatus(gp.m.curg, _Gwaiting, _Grunning)
		iface.go#L127: 	if getg().m.mallocing != 0 {
		lock_futex.go#L54: 	if gp.m.locks < 0 {
		lock_futex.go#L57: 	gp.m.locks++
		lock_futex.go#L125: 	gp.m.locks--
		lock_futex.go#L126: 	if gp.m.locks < 0 {
		lock_futex.go#L129: 	if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
		lock_futex.go#L150: 	if gp != gp.m.g0 {
		lock_futex.go#L159: 		gp.m.blocked = true
		lock_futex.go#L164: 		gp.m.blocked = false
		lock_futex.go#L182: 			gp.m.blocked = true
		lock_futex.go#L187: 			gp.m.blocked = false
		lock_futex.go#L201: 		gp.m.blocked = true
		lock_futex.go#L206: 		gp.m.blocked = false
		lock_futex.go#L221: 	if gp != gp.m.g0 && gp.m.preemptoff != "" {
		lock_futex.go#L232: 	if gp == gp.m.g0 {
		malloc.go#L1280: 		if assistG.m.curg != nil {
		malloc.go#L1281: 			assistG = assistG.m.curg
		malloc.go#L1384: 		if gp := getg(); gp == gp.m.gsignal {
		mbitmap.go#L320: 	getg().m.traceback = 2
		mbitmap.go#L574: 	buf := &getg().m.p.ptr().wbBuf
		mbitmap.go#L618: 	buf := &getg().m.p.ptr().wbBuf
		mbitmap.go#L644: 	buf := &getg().m.p.ptr().wbBuf
		mbitmap.go#L704: 	buf := &getg().m.p.ptr().wbBuf
		mbitmap.go#L1472: 	if gp := getg(); gp.m.curg.stack.lo <= uintptr(p) && uintptr(p) < gp.m.curg.stack.hi {
		mbitmap.go#L1475: 		for u.initAt(gp.m.curg.sched.pc, gp.m.curg.sched.sp, 0, gp.m.curg, 0); u.valid(); u.next() {
		mcheckmark.go#L87: 		getg().m.traceback = 2
		mgc.go#L296: 	p := getg().m.p.ptr()
		mgc.go#L831: 		gp := getg().m.curg
		mgc.go#L874: 	getg().m.preemptoff = "gcing"
		mgc.go#L900: 		getg().m.preemptoff = ""
		mgc.go#L981: 			gcw := &getg().m.p.ptr().gcw
		mgc.go#L983: 			wbBufFlush1(getg().m.p.ptr())
		mgc.go#L1267: 	gp.m.preemptoff = "GC worker init"
		mgc.go#L1269: 	gp.m.preemptoff = ""
		mgc.go#L1331: 		pp := gp.m.p.ptr() // P can't change with preemption disabled.
		mgcmark.go#L219: 			userG := getg().m.curg
		mgcmark.go#L409: 	if getg() == gp.m.g0 {
		mgcmark.go#L412: 	if mp := getg().m; mp.locks > 0 || mp.preemptoff != "" {
		mgcmark.go#L554: 	trackLimiterEvent := gp.m.p.ptr().limiterEvent.start(limiterEventMarkAssist, startTime)
		mgcmark.go#L567: 	gcw := &getg().m.p.ptr().gcw
		mgcmark.go#L599: 	pp := gp.m.p.ptr()
		mgcmark.go#L770: 	p := getg().m.p.ptr()
		mgcmark.go#L1041: 	gp := getg().m.curg
		mgcmark.go#L1161: 	gp := getg().m.curg
		mgcmark.go#L1446: 		gcw := &getg().m.p.ptr().gcw
		mgcmark.go#L1475: 			getg().m.traceback = 2
		mgcmark.go#L1579: 	gcw := &getg().m.p.ptr().gcw
		mgcpacer.go#L710: 	if gp == nil || gp.m == nil || gp.m.p == 0 {
		mgcpacer.go#L713: 	myID := gp.m.p.ptr().id
		mgcscavenge.go#L780: 				pageTraceScav(getg().m.p.ptr(), 0, addr, uintptr(npages))
		mgcsweep.go#L361: 	gp.m.locks++
		mgcsweep.go#L367: 		gp.m.locks--
		mgcsweep.go#L445: 	gp.m.locks--
		mgcsweep.go#L467: 	if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
		mgcsweep.go#L506: 	if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
		mgcsweep.go#L663: 		getg().m.p.ptr().trace.reclaimed += uintptr(nfreed) * s.elemsize
		mgcwork.go#L476: 		gp := getg().m.curg
		mheap.go#L1089: 	pp := getg().m.p.ptr()
		mheap.go#L1114: 	pp := getg().m.p.ptr()
		mheap.go#L1146: 	pp := getg().m.p.ptr()
		mheap.go#L1189: 	pp := gp.m.p.ptr()
		mheap.go#L1551: 		pageTraceFree(getg().m.p.ptr(), 0, s.base(), s.npages)
		mheap.go#L1583: 	pageTraceFree(getg().m.p.ptr(), 0, s.base(), s.npages)
		mheap.go#L1658: 	gp.m.mallocing++
		mheap.go#L1663: 	gp.m.mallocing--
		mprof.go#L504: 	if gp.m.curg == nil || gp.m.curg == gp {
		mprof.go#L507: 		nstk = gcallers(gp.m.curg, skip, stk[:])
		mprof.go#L1007: 	if getg().m.p.ptr() == nil {
		mprof.go#L1203: 			g0.m.traceback = 1
		mprof.go#L1210: 			g0.m.traceback = 0
		mprof.go#L1229: 	gp.m.traceback = 2
		mprof.go#L1235: 	if gp.m.curg == nil || gp == gp.m.curg {
		mprof.go#L1243: 		goroutineheader(gp.m.curg)
		mprof.go#L1244: 		traceback(^uintptr(0), ^uintptr(0), 0, gp.m.curg)
		mprof.go#L1247: 	gp.m.traceback = 0
		mprof.go#L1254: 	gp.m.traceback = 2
		mprof.go#L1263: 	gp.m.traceback = 0
		mprof.go#L1270: 	gp.m.traceback = 2
		mprof.go#L1276: 	gp.m.traceback = 0
		mstats.go#L769: 	if pp := getg().m.p.ptr(); pp != nil {
		mstats.go#L798: 	if pp := getg().m.p.ptr(); pp != nil {
		mwbbuf.go#L170: 	if getg().m.dying > 0 {
		mwbbuf.go#L174: 		getg().m.p.ptr().wbBuf.discard()
		mwbbuf.go#L181: 		wbBufFlush1(getg().m.p.ptr())
		os_linux.go#L402: 	mp.gsignal.m = mp
		os_linux.go#L415: 	getg().m.procid = uint64(gettid())
		os_linux.go#L634: 	mp := getg().m
		os_linux.go#L787: 		releasem(getg().m)
		os_linux.go#L850: 	tid := gp.m.procid
		os_linux.go#L872: 	releasem(getg().m)
		os_linux.go#L887: 	if gp.m.needPerThreadSyscall.Load() == 0 {
		os_linux.go#L903: 	gp.m.needPerThreadSyscall.Store(0)
		panic.go#L63: 	if gp != nil && gp.m != nil && gp.m.mallocing != 0 {
		panic.go#L77: 	if gp != nil && gp.m != nil && gp.m.mallocing != 0 {
		panic.go#L273: 	if gp.m.curg != gp {
		panic.go#L310: 	if gp.m.curg != gp {
		panic.go#L836: 	if gp.m.curg != gp {
		panic.go#L843: 	if gp.m.mallocing != 0 {
		panic.go#L849: 	if gp.m.preemptoff != "" {
		panic.go#L854: 		print(gp.m.preemptoff)
		panic.go#L858: 	if gp.m.locks != 0 {
		panic.go#L1157: 	if gp.m.throwing == throwTypeNone {
		panic.go#L1158: 		gp.m.throwing = t
		panic.go#L1246: 	gp.m.mallocing++
		panic.go#L1250: 	if gp.m.locks < 0 {
		panic.go#L1251: 		gp.m.locks = 1
		panic.go#L1254: 	switch gp.m.dying {
		panic.go#L1257: 		gp.m.dying = 1
		panic.go#L1268: 		gp.m.dying = 2
		panic.go#L1274: 		gp.m.dying = 3
		panic.go#L1303: 		if gp != gp.m.curg {
		panic.go#L1306: 		if gp != gp.m.g0 {
		panic.go#L1310: 		} else if level >= 2 || gp.m.throwing >= throwTypeRuntime {
		panic.go#L1391: 	if gp.m.incgo || findfunc(pc).valid() {
		preempt.go#L105: 	if mp := getg().m; mp.curg != nil && readgstatus(mp.curg) == _Grunning {
		preempt.go#L194: 			if gp.preemptStop && gp.preempt && gp.stackguard0 == stackPreempt && asyncM == gp.m && asyncM.preemptGen.Load() == asyncGen {
		preempt.go#L209: 			asyncM2 := gp.m
		preempt.go#L343: 	return (gp.preempt || gp.m.p != 0 && gp.m.p.ptr().preempt) && readgstatus(gp)&^_Gscan == _Grunning
		preempt.go#L363: 	mp := gp.m
		print.go#L66: 	mp := getg().m
		print.go#L76: 	mp := getg().m
		print.go#L96: 	if gp == nil || gp.writebuf == nil || gp.m.dying > 0 {
		proc.go#L145: 	mp := getg().m
		proc.go#L533: 	return gp.lockedm != 0 && gp.m.lockedg != 0
		proc.go#L732: 	mcommoninit(gp.m, -1)
		proc.go#L738: 	sigsave(&gp.m.sigmask)
		proc.go#L739: 	initSigmask = gp.m.sigmask
		proc.go#L827: 	if gp != gp.m.g0 {
		proc.go#L1260: 	gp.m.preemptoff = reason.String()
		proc.go#L1359: 	if gp.m.locks > 0 {
		proc.go#L1368: 	gp.m.p.ptr().status = _Pgcstop // Pgcstop is only diagnostic.
		proc.go#L1576: 	if gp != gp.m.g0 {
		proc.go#L1595: 	if gp.m == &m0 {
		proc.go#L1599: 	if fn := gp.m.mstartfn; fn != nil {
		proc.go#L1603: 	if gp.m != &m0 {
		proc.go#L1604: 		acquirep(gp.m.nextp.ptr())
		proc.go#L1605: 		gp.m.nextp = 0
		proc.go#L1632: 	notesleep(&gp.m.park)
		proc.go#L1633: 	noteclear(&gp.m.park)
		proc.go#L1647: 	mp := getg().m
		proc.go#L1762: 	pp := getg().m.p.ptr()
		proc.go#L1853: 	p := getg().m.p.ptr()
		proc.go#L1898: 	if gp.m.p == 0 {
		proc.go#L1944: 	mp.g0.m = mp
		proc.go#L1946: 	if pp == gp.m.p.ptr() {
		proc.go#L1950: 	releasem(gp.m)
		proc.go#L2127: 	gp.m = mp
		proc.go#L2187: 	mp := getg().m
		proc.go#L2234: 	if g.m.g0 != g {
		proc.go#L2244: 	return uintptr(unsafe.Pointer(getg().m))
		proc.go#L2401: 	if gp := getg(); gp != nil && gp.m != nil && (gp.m.lockedExt != 0 || gp.m.incgo) && GOOS != "plan9" {
		proc.go#L2427: 		releasem(getg().m)
		proc.go#L2431: 	releasem(getg().m)
		proc.go#L2523: 	if gp.m.locks != 0 {
		proc.go#L2526: 	if gp.m.p != 0 {
		proc.go#L2529: 	if gp.m.spinning {
		proc.go#L2534: 	mput(gp.m)
		proc.go#L2537: 	acquirep(gp.m.nextp.ptr())
		proc.go#L2538: 	gp.m.nextp = 0
		proc.go#L2543: 	getg().m.spinning = true
		proc.go#L2770: 	if gp.m.lockedg == 0 || gp.m.lockedg.ptr().lockedm.ptr() != gp.m {
		proc.go#L2773: 	if gp.m.p != 0 {
		proc.go#L2781: 	status := readgstatus(gp.m.lockedg.ptr())
		proc.go#L2784: 		dumpgstatus(gp.m.lockedg.ptr())
		proc.go#L2787: 	acquirep(gp.m.nextp.ptr())
		proc.go#L2788: 	gp.m.nextp = 0
		proc.go#L2797: 	if mp == getg().m {
		proc.go#L2819: 	if gp.m.spinning {
		proc.go#L2820: 		gp.m.spinning = false
		proc.go#L2848: 	mp := getg().m
		proc.go#L2860: 	gp.m = mp
		proc.go#L2892: 	mp := getg().m
		proc.go#L3241: 	p := getg().m.p.ptr()
		proc.go#L3261: 	pp := getg().m.p.ptr()
		proc.go#L3455: 	if !gp.m.spinning {
		proc.go#L3458: 	gp.m.spinning = false
		proc.go#L3522: 	pp := getg().m.p.ptr()
		proc.go#L3554: 	mp := getg().m
		proc.go#L3645: 	setMNoWB(&gp.m.curg.m, nil)
		proc.go#L3646: 	setGNoWB(&gp.m.curg, nil)
		proc.go#L3681: 		if pp != getg().m.p.ptr() || int(pp.deletedTimers.Load()) <= int(pp.numTimers.Load()/4) {
		proc.go#L3706: 	if pp == getg().m.p.ptr() && int(pp.deletedTimers.Load()) > len(pp.timers)/4 {
		proc.go#L3722: 	mp := getg().m
		proc.go#L3774: 	if !canPreemptM(gp.m) {
		proc.go#L3842: 	pp := gp.m.p.ptr()
		proc.go#L3862: 	mp := getg().m
		proc.go#L3870: 	gp.m = nil
		proc.go#L3935: 	if gp == gp.m.g0 || gp == gp.m.gsignal {
		proc.go#L3998: 	gp.m.locks++
		proc.go#L4037: 	if gp.m.p.ptr().runSafePointFn != 0 {
		proc.go#L4043: 	gp.m.syscalltick = gp.m.p.ptr().syscalltick
		proc.go#L4044: 	pp := gp.m.p.ptr()
		proc.go#L4046: 	gp.m.oldp.set(pp)
		proc.go#L4047: 	gp.m.p = 0
		proc.go#L4054: 	gp.m.locks--
		proc.go#L4078: 	pp := gp.m.oldp.ptr()
		proc.go#L4100: 	gp.m.locks++ // see comment in entersyscall
		proc.go#L4103: 	gp.m.syscalltick = gp.m.p.ptr().syscalltick
		proc.go#L4104: 	gp.m.p.ptr().syscalltick++
		proc.go#L4134: 	gp.m.locks--
		proc.go#L4140: 		traceGoSysBlock(getg().m.p.ptr())
		proc.go#L4160: 	gp.m.locks++ // see comment in entersyscall
		proc.go#L4166: 	oldp := gp.m.oldp.ptr()
		proc.go#L4167: 	gp.m.oldp = 0
		proc.go#L4180: 			if oldp != gp.m.p.ptr() || gp.m.syscalltick != gp.m.p.ptr().syscalltick {
		proc.go#L4185: 		gp.m.p.ptr().syscalltick++
		proc.go#L4192: 		gp.m.locks--
		proc.go#L4213: 		for oldp != nil && oldp.syscalltick == gp.m.syscalltick {
		proc.go#L4223: 	gp.m.locks--
		proc.go#L4235: 	gp.m.p.ptr().syscalltick++
		proc.go#L4265: 					for oldp.syscalltick == gp.m.syscalltick {
		proc.go#L4286: 	if gp.m.syscalltick != gp.m.p.ptr().syscalltick {
		proc.go#L4293: 				traceGoSysBlock(gp.m.p.ptr())
		proc.go#L4298: 		gp.m.p.ptr().syscalltick++
		proc.go#L4367: 	gp := getg().m.curg
		proc.go#L4372: 	gp.m.locks++
		proc.go#L4373: 	sigsave(&gp.m.sigmask)
		proc.go#L4388: 	gp := getg().m.curg
		proc.go#L4393: 	msigrestore(gp.m.sigmask)
		proc.go#L4395: 	gp.m.locks--
		proc.go#L4424: 	msigrestore(getg().m.sigmask)
		proc.go#L4483: 		pp := getg().m.p.ptr()
		proc.go#L4763: 	gp.m.lockedg.set(gp)
		proc.go#L4764: 	gp.lockedm.set(gp.m)
		proc.go#L4791: 	gp.m.lockedExt++
		proc.go#L4792: 	if gp.m.lockedExt == 0 {
		proc.go#L4793: 		gp.m.lockedExt--
		proc.go#L4801: 	getg().m.lockedInt++
		proc.go#L4815: 	if gp.m.lockedInt != 0 || gp.m.lockedExt != 0 {
		proc.go#L4818: 	gp.m.lockedg = 0
		proc.go#L4838: 	if gp.m.lockedExt == 0 {
		proc.go#L4841: 	gp.m.lockedExt--
		proc.go#L4848: 	if gp.m.lockedInt == 0 {
		proc.go#L4851: 	gp.m.lockedInt--
		proc.go#L4936: 	getg().m.mallocing++
		proc.go#L4994: 		if gp != nil && gp.m != nil && gp.m.curg != nil {
		proc.go#L4995: 			tagPtr = &gp.m.curg.labels
		proc.go#L5001: 		if gp != nil && gp.m != nil {
		proc.go#L5002: 			if gp.m.curg != nil {
		proc.go#L5003: 				gprof = gp.m.curg
		proc.go#L5005: 			pp = gp.m.p.ptr()
		proc.go#L5009: 	getg().m.mallocing--
		proc.go#L5023: 	gp.m.locks++
		proc.go#L5047: 	gp.m.locks--
		proc.go#L5109: 		plocal := getg().m.p.ptr()
		proc.go#L5159: 			mp := getg().m
		proc.go#L5246: 	if gp.m.p != 0 && gp.m.p.ptr().id < nprocs {
		proc.go#L5248: 		gp.m.p.ptr().status = _Prunning
		proc.go#L5249: 		gp.m.p.ptr().mcache.prepareForSweep()
		proc.go#L5256: 		if gp.m.p != 0 {
		proc.go#L5262: 				traceProcStop(gp.m.p.ptr())
		proc.go#L5264: 			gp.m.p.ptr().m = 0
		proc.go#L5266: 		gp.m.p = 0
		proc.go#L5298: 		if gp.m.p.ptr() == pp {
		proc.go#L5350: 	if gp.m.p != 0 {
		proc.go#L5361: 	gp.m.p.set(pp)
		proc.go#L5362: 	pp.m.set(gp.m)
		proc.go#L5370: 	if gp.m.p == 0 {
		proc.go#L5373: 	pp := gp.m.p.ptr()
		proc.go#L5374: 	if pp.m.ptr() != gp.m || pp.status != _Prunning {
		proc.go#L5375: 		print("releasep: m=", gp.m, " m->p=", gp.m.p.ptr(), " p->m=", hex(pp.m), " p->status=", pp.status, "\n")
		proc.go#L5379: 		traceProcStop(gp.m.p.ptr())
		proc.go#L5381: 	gp.m.p = 0
		proc.go#L5771: 	if mp == nil || mp == getg().m {
		proc.go#L5868: 		if gp.m != nil {
		proc.go#L5869: 			print(gp.m.id)
		proc.go#L6569: 	mp := gp.m
		proc.go#L6578: 	gp.m.locks--
		proc.go#L6618: 	if p := getg().m.p.ptr(); !runqempty(p) {
		runtime1.go#L41: 	all = gp.m.throwing >= throwTypeUser || t&tracebackAll != 0
		runtime1.go#L42: 	if gp.m.traceback != 0 {
		runtime1.go#L43: 		level = int32(gp.m.traceback)
		runtime1.go#L44: 	} else if gp.m.throwing >= throwTypeRuntime {
		runtime1.go#L574: 	gp.m.locks++
		runtime1.go#L575: 	return gp.m
		runtime2.go#L428: 	m         *m      // current m; offset known to arm liblink
		rwmutex.go#L50: 				m := getg().m
		rwmutex.go#L78: 	releasem(getg().m)
		rwmutex.go#L85: 	m := getg().m
		sema.go#L116: 	if gp != gp.m.curg {
		sema.go#L211: 		if s.ticket == 1 && getg().m.locks == 0 {
		signal_unix.go#L330: 	getg().m.profilehz = hz
		signal_unix.go#L352: 	gp.m.preemptGen.Add(1)
		signal_unix.go#L353: 	gp.m.signalPending.Store(0)
		signal_unix.go#L438: 	if gp == nil || (gp.m != nil && gp.m.isExtraInC) {
		signal_unix.go#L476: 	setg(gp.m.gsignal)
		signal_unix.go#L480: 	setStack := adjustSignalStack(sig, gp.m, &gsignalStack)
		signal_unix.go#L482: 		gp.m.gsignal.stktopsp = getcallersp()
		signal_unix.go#L623: 	mp := gsignal.m
		signal_unix.go#L1142: 	if gp != nil && gp.m != nil && gp.m.curg != nil && !gp.m.isExtraInC && !gp.m.incgo {
		signal_unix.go#L1233: 	mp := getg().m
		signal_unix.go#L1254: 	nmask := getg().m.sigmask
		signal_unix.go#L1268: 	if getg().m.newSigstack {
		signal_unix.go#L1278: 		restoreGsignalStack(&getg().m.goSigStack)
		signal_unix.go#L1325: 		old.stack = gp.m.gsignal.stack
		signal_unix.go#L1326: 		old.stackguard0 = gp.m.gsignal.stackguard0
		signal_unix.go#L1327: 		old.stackguard1 = gp.m.gsignal.stackguard1
		signal_unix.go#L1328: 		old.stktopsp = gp.m.gsignal.stktopsp
		signal_unix.go#L1331: 	gp.m.gsignal.stack.lo = stsp
		signal_unix.go#L1332: 	gp.m.gsignal.stack.hi = stsp + st.ss_size
		signal_unix.go#L1333: 	gp.m.gsignal.stackguard0 = stsp + stackGuard
		signal_unix.go#L1334: 	gp.m.gsignal.stackguard1 = stsp + stackGuard
		signal_unix.go#L1343: 	gp := getg().m.gsignal
		stack.go#L341: 	if thisg != thisg.m.g0 {
		stack.go#L372: 		if stackNoCache != 0 || thisg.m.p == 0 || thisg.m.preemptoff != "" {
		stack.go#L381: 			c := thisg.m.p.ptr().mcache
		stack.go#L475: 		if stackNoCache != 0 || gp.m.p == 0 || gp.m.preemptoff != "" {
		stack.go#L480: 			c := gp.m.p.ptr().mcache
		stack.go#L625: 				getg().m.traceback = 2
		stack.go#L871: 	gcController.addScannableStack(getg().m.p.ptr(), int64(newsize)-int64(old.hi-old.lo))
		stack.go#L969: 	if thisg.m.morebuf.g.ptr().stackguard0 == stackFork {
		stack.go#L972: 	if thisg.m.morebuf.g.ptr() != thisg.m.curg {
		stack.go#L973: 		print("runtime: newstack called from g=", hex(thisg.m.morebuf.g), "\n"+"\tm=", thisg.m, " m->curg=", thisg.m.curg, " m->g0=", thisg.m.g0, " m->gsignal=", thisg.m.gsignal, "\n")
		stack.go#L974: 		morebuf := thisg.m.morebuf
		stack.go#L979: 	gp := thisg.m.curg
		stack.go#L981: 	if thisg.m.curg.throwsplit {
		stack.go#L983: 		morebuf := thisg.m.morebuf
		stack.go#L997: 		thisg.m.traceback = 2 // Include runtime frames
		stack.go#L1002: 	morebuf := thisg.m.morebuf
		stack.go#L1003: 	thisg.m.morebuf.pc = 0
		stack.go#L1004: 	thisg.m.morebuf.lr = 0
		stack.go#L1005: 	thisg.m.morebuf.sp = 0
		stack.go#L1006: 	thisg.m.morebuf.g = 0
		stack.go#L1027: 		if !canPreemptM(thisg.m) {
		stack.go#L1055: 		if gp == thisg.m.g0 {
		stack.go#L1058: 		if thisg.m.p == 0 && thisg.m.locks == 0 {
		stack.go#L1172: 		if !(gp == getg().m.curg && getg() != getg().m.curg && s == _Grunning) {
		stack.go#L1183: 	if gp == getg().m.curg && gp.m.libcallsp != 0 {
		stubs.go#L125: 	mp := getg().m
		stubs.go#L158: 	mp := getg().m
		time.go#L277: 	pp := getg().m.p.ptr()
		time.go#L506: 		pp := getg().m.p.ptr()
		time.go#L843: 		ppcur := getg().m.p.ptr()
		time.go#L880: 		gp.racectx = gp.m.p.ptr().timerRaceCtx
		trace.go#L310: 	mp := getg().m
		trace.go#L334: 			gp.trace.lastP = getg().m.p
		trace.go#L348: 		} else if status == _Gdead && gp.m != nil && gp.m.isextra {
		trace.go#L353: 			gp.trace.lastP = getg().m.p
		trace.go#L569: 		getg().racectx = getg().m.curg.racectx
		trace.go#L1484: 	traceEvent(traceEvProcStart, -1, uint64(getg().m.id))
		trace.go#L1513: 	getg().m.trace.tracedSTWStart = true
		trace.go#L1518: 	mp := getg().m
		trace.go#L1534: 	pp := getg().m.p.ptr()
		trace.go#L1546: 	pp := getg().m.p.ptr()
		trace.go#L1556: 	pp := getg().m.p.ptr()
		trace.go#L1576: 	newg.trace.lastP = getg().m.p
		trace.go#L1583: 	gp := getg().m.curg
		trace.go#L1584: 	pp := gp.m.p
		trace.go#L1602: 	gp.trace.lastP = gp.m.p
		trace.go#L1608: 	gp.trace.lastP = gp.m.p
		trace.go#L1619: 	pp := getg().m.p
		trace.go#L1646: 	getg().m.curg.trace.tracedSyscallEnter = true
		trace.go#L1651: 	gp := getg().m.curg
		trace.go#L1673: 	gp.trace.lastP = gp.m.p
		traceback.go#L136: 	if ourg := getg(); ourg == gp && ourg == ourg.m.curg {
		traceback.go#L290: 		if u.flags&unwindJumpStack != 0 && gp == gp.m.g0 && gp.m.curg != nil && gp.m.curg.m == gp.m {
		traceback.go#L298: 				gp = gp.m.curg
		traceback.go#L321: 				gp = gp.m.curg
		traceback.go#L463: 		if doPrint && gp.m.incgo && f.funcID == abi.FuncID_sigpanic {
		traceback.go#L835: 	if gp.m.libcallsp != 0 {
		traceback.go#L837: 		traceback1(gp.m.libcallpc, gp.m.libcallsp, 0, gp.m.libcallg.ptr(), 0)
		traceback.go#L845: 	if iscgo && gp.m != nil && gp.m.ncgo > 0 && gp.syscallsp != 0 && gp.m.cgoCallers != nil && gp.m.cgoCallers[0] != 0 {
		traceback.go#L852: 		gp.m.cgoCallersUse.Store(1)
		traceback.go#L853: 		cgoCallers := *gp.m.cgoCallers
		traceback.go#L854: 		gp.m.cgoCallers[0] = 0
		traceback.go#L855: 		gp.m.cgoCallersUse.Store(0)
		traceback.go#L866: 	if gp.m != nil && gp.m.vdsoSP != 0 {
		traceback.go#L869: 		pc = gp.m.vdsoPC
		traceback.go#L870: 		sp = gp.m.vdsoSP
		traceback.go#L1024: 				if gp.m != nil && gp.m.throwing >= throwTypeRuntime && gp == gp.m.curg || level >= 2 {
		traceback.go#L1124: 	mp := getg().m
		traceback.go#L1226: 	curgp := getg().m.curg
		traceback.go#L1250: 		if gp.m != getg().m && readgstatus(gp)&^_Gscan == _Grunning {
		traceback.go#L1606: 	if panicking.Load() > 0 || getg().m.curg != getg() {
		traceback.go#L1626: 	if panicking.Load() > 0 || getg().m.curg != getg() {